package laboratorioV.grupo21.tp4.deposito;

import java.io.Serializable;

import laboratorioV.grupo21.tp4.productos.Producto;

public class Lado implements Serializable {	 
	/**
	 * 
	 */
	private static final long serialVersionUID = -2894449573714898660L;
	private Integer cantidadCompartimentosMaxX;
	private Integer cantidadCompartimentosMaxY;
	private XYlinkedHashMap<Compartimiento> ladoDeCompartimentos; 
	
	public Lado(Integer pCantidadCompartimentosMaxX, Integer pCantidadCompartimentosMaxY) {	
		setCantidadCompartimentosMaxX(pCantidadCompartimentosMaxX);
		setCantidadCompartimentosMaxY(pCantidadCompartimentosMaxY);
		ladoDeCompartimentos = new XYlinkedHashMap<Compartimiento>();
	}
	
	public void addCompartimento(Integer pX, Integer pY, Producto pTipoProducto, Integer pCantidadMaxima) throws Exception{
		if(pX > cantidadCompartimentosMaxX || pY > cantidadCompartimentosMaxY)
			throw new Exception("La ubicacion del compartimento es inexistente");
		Compartimiento compartimentoAux = new Compartimiento(pTipoProducto,pCantidadMaxima);
		ladoDeCompartimentos.addElement(pX, pY, compartimentoAux);
	}
	
	
	
	
	public XYlinkedHashMap<Compartimiento> getLadoDeCompartimentos() {
		
		return ladoDeCompartimentos;
	}
	private void setCantidadCompartimentosMaxX(Integer cantidadCompartimentosMaxX) {
		this.cantidadCompartimentosMaxX = cantidadCompartimentosMaxX;
	}
	public Integer getCantidadCompartimentosMaxX() {
		return cantidadCompartimentosMaxX;
	}
	private void setCantidadCompartimentosMaxY(Integer cantidadCompartimentosMaxY) {
		this.cantidadCompartimentosMaxY = cantidadCompartimentosMaxY;
	}
	public Integer getCantidadCompartimentosMaxY() {
		return cantidadCompartimentosMaxY;
	}
	
}
